package hotel.base.oversea.vo.meituan.response.goods;

import hotel.base.oversea.dto.meituan.MtHotelGoodsBreakfastVo;
import lombok.Data;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * 美团酒店产品信息（在售产品房型信息）
 * @remark  ApiRespVo 产品信息关联了产品早餐信息
 * @Author qiuyy
 * @Date 2020/5/15
 **/
@Data
public class MtHotelGoodsCallbackVo implements Serializable {
    private static final long serialVersionUID = 52215552391984235L;
    /**
    *酒店id
    */
    private String hotelId;
    /**
     *产品ID。
     */
    private String goodsId;
    /**
     * 产品名称
     */
    private String goodsName;
    /**
     * 房态：
     * 0 满房
     * 1 可预订
     * 2 不可预订
     * 3 不展示
     */
    private Integer goodsStatus;
    /**
     * 产品类型：
     * 1 全日房
     * 2 钟点房
     */
    private Integer goodsType;
    /**
     * 认类型：
     * 0 不支持即时确认
     * 1 支持即时确认
     */
    private Integer confirmType;
    /**
     * 平均价格，单位为分。
     */
    private String averagePrice;
    /**
     * 市场价格，单位为分。
     */
    private String originalPrice;
    /**
     * 是否第三方产品。(新增)
     * 0 非第三方
     * 1 第三方
     */
    private Integer thirdParty;
    /**
     * 是否需要用户真实手机号
     * 0 不需要
     * 1 需要
     */
    private Integer needRealTel;
    /**
     * 	特殊活动标记，值为1表示活动有效，值为2表示活动无效。
     * lastMinute 今夜特惠
     * timeLimitedSpecial 限时特惠
     * holidaySpecial 假日特惠
     * "goodsActivityMap":{
     *     "lastMinute":1
     *  }
     */
    private Map<String,Integer> goodsActivityMap;
    /**
     * 产品房型信息 GoodsRoomInfo(产品房型信息列表, 每个产品只对应1个房间信息,但上游返回的是数组实际上只会是一个产品对应一个)
     */
    List<MtHotelGoodsBaseRoomVo> roomInfoList;
    /**
     * 产品早餐信息
     */
    List<MtHotelGoodsBreakfastVo> breakFast;
    /**
     * 产品预订规则信息
     */
    List<MtHotelGoodsBookRuleVo> bookRules;
    /**
     * 产品取消规则信息
     */
    List<MtHotelGoodsCancelRuleVo> cancelRules;

    //----------

    /**
     * 产品价格
     */
    private List<MtHotelGoodsPriceBaseDetailVo> priceModels;


}
